Next | Prev | Up | Top | Contents | Index
Address Space Boundaries
A process has at least 3 segments of usable addresses:
- A text segment contains the executable image of the program. The text segment is always read-only.
- A data segment contains the "heap" of allocated data space.
- A stack segment contains the function-call stack.
Another text segment is created for each dynamic shared object (DSO) with which a process is linked. A process can create additional data segments in various ways described later in the chapter.
Although the address space begins at location 0, by convention the lowest segment is allocated at 0x0040 0000 (4 MB). Addresses less than this are left undefined so that an attempt to reference them (for example, through an uninitialized pointer variable) causes a hardware exception.
Next | Prev | Up | Top | Contents | Index